package com.jade.linkong.domain;

import com.jade.common.annotation.Excels;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.jade.common.annotation.Excel;
import com.jade.common.core.domain.BaseEntity;
import java.util.Date;

/**
 * 告示对象 lk_notice
 * 
 * @author jade
 * @date 2020-07-16
 */
public class LkNotice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long lkNoticeId;

    /** 项目id */
    @Excel(name = "项目id")
    private String lkProjectId;

    /** 事项id */
    @Excel(name = "事项id")
    private Long lkMatterProjectId;

    /** 签字人ID */
    @Excel(name = "签字人ID")
    private Long signatureUserId;

    /** 签字人姓名 */
    @Excel(name = "签字人姓名")
    private String signatureUserName;

    /** 签字信息 */
    @Excel(name = "签字信息")
    private String signatureInformation;

    /** 签字时间 */
    @Excel(name = "签字时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signatureTime;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String lkProCode;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 类型（1、企业2、单位） */
    @Excel(name = "类型", readConverterExp = "1=、企业2、单位")
    private String type;

    /** 内容 */
    @Excel(name = "内容")
    private String content;

    /** 计划完成时间 */
    @Excel(name = "计划完成时间")
    private String planningTime;

    /** 是否已读（1、已读2、未读） */
    @Excel(name = "是否已读", readConverterExp = "1=、已读2、未读")
    private String isRead;

    /** 警告类型（1、红灯2、黄灯） */
    @Excel(name = "警告类型", readConverterExp = "1=、红灯2、黄灯")
    private String lightType;

    /**
     * 告示单事项所属项目信息
     */
    @Excels({
            @Excel(name = "项目名称", targetAttr = "proName", type = Excel.Type.EXPORT),
            @Excel(name = "项目编码", targetAttr = "proCode", type = Excel.Type.EXPORT),
            @Excel(name = "当前事项id", targetAttr = "currMatterId", type = Excel.Type.EXPORT),
            @Excel(name = "当前事项名称", targetAttr = "currMatterName", type = Excel.Type.EXPORT)
    })
    private LkProject lkProject;

    /**
     * 告示单所属事项
     */
    @Excels({
            @Excel(name = "负责单位", targetAttr = "mainOrg", type = Excel.Type.EXPORT),
            @Excel(name = "审批人姓名", targetAttr = "approveUsername", type = Excel.Type.EXPORT),
            @Excel(name = "审批人（领导）", targetAttr = "approveUser", type = Excel.Type.EXPORT)
    })
    private LkMatterProject lkMatterProject;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    public LkMatterProject getLkMatterProject() {
        return lkMatterProject;
    }

    public void setLkMatterProject(LkMatterProject lkMatterProject) {
        this.lkMatterProject = lkMatterProject;
    }

    public void setLkNoticeId(Long lkNoticeId)
    {
        this.lkNoticeId = lkNoticeId;
    }

    public Long getLkNoticeId() 
    {
        return lkNoticeId;
    }

    public String getLkProjectId() {
        return lkProjectId;
    }

    public void setLkProjectId(String lkProjectId) {
        this.lkProjectId = lkProjectId;
    }

    public LkProject getLkProject() {
        return lkProject;
    }

    public void setLkProject(LkProject lkProject) {
        this.lkProject = lkProject;
    }

    public void setSignatureUserId(Long signatureUserId)
    {
        this.signatureUserId = signatureUserId;
    }

    public Long getSignatureUserId() 
    {
        return signatureUserId;
    }
    public void setSignatureUserName(String signatureUserName) 
    {
        this.signatureUserName = signatureUserName;
    }

    public String getSignatureUserName() 
    {
        return signatureUserName;
    }
    public void setSignatureInformation(String signatureInformation) 
    {
        this.signatureInformation = signatureInformation;
    }

    public String getSignatureInformation() 
    {
        return signatureInformation;
    }
    public void setSignatureTime(Date signatureTime) 
    {
        this.signatureTime = signatureTime;
    }

    public Date getSignatureTime() 
    {
        return signatureTime;
    }
    public void setLkProCode(String lkProCode) 
    {
        this.lkProCode = lkProCode;
    }

    public String getLkProCode() 
    {
        return lkProCode;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setPlanningTime(String planningTime) 
    {
        this.planningTime = planningTime;
    }

    public String getPlanningTime() 
    {
        return planningTime;
    }
    public void setIsRead(String isRead) 
    {
        this.isRead = isRead;
    }

    public String getIsRead() 
    {
        return isRead;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getLightType() {
        return lightType;
    }

    public void setLightType(String lightType) {
        this.lightType = lightType;
    }

    public Long getLkMatterProjectId() {
        return lkMatterProjectId;
    }

    public void setLkMatterProjectId(Long lkMatterProjectId) {
        this.lkMatterProjectId = lkMatterProjectId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("lkNoticeId", getLkNoticeId())
            .append("lkProjectId", getLkProjectId())
            .append("lkMatterProjectId", getLkMatterProjectId())
            .append("signatureUserId", getSignatureUserId())
            .append("signatureUserName", getSignatureUserName())
            .append("signatureInformation", getSignatureInformation())
            .append("signatureTime", getSignatureTime())
            .append("lkProCode", getLkProCode())
            .append("name", getName())
            .append("type", getType())
            .append("lightType", getLightType())
            .append("content", getContent())
            .append("planningTime", getPlanningTime())
            .append("isRead", getIsRead())
            .append("delFlag", getDelFlag())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
